網路上有人在問,要如何透過 AJAX 取得 Client 下載 Server 資料速度
但基於每個瀏覽器對 XHR (XMLHttpRequest) 所採取的安全策略來說
這個物件只能存取自身網站上的資源,無法「直接」存取其他網站上的資料。
所以,我們就沒辦法了嗎?
其實不盡然,我們可以利用 Javascript 的 Image 物件的一些特性,來達到類似的目的。
原理大致上如下
當 Image 載入完成時,會視情況觸發兩種事件。
在一般正常的情況下,當它下載完圖片檔案時,它會觸發 OnLoad
相反的,若載入的檔案不是圖片格式,它則會觸發 OnError
程式碼如下:大家可以參考一下。
var start_time = new Date();
var load = new Image();
complete = function (event) {
var end_time = new Date();
alert(end_time - start_time);
};
load.onerror = complete;
load.onload = complete;
load.src = 'http://www.yahoo.com.tw'+'?'+Math.random;